// -*- IDL -*-

/**
 * @file ClientRequestInfo.pidl
 *
 * @brief Pre-compiled ClientRequestInfo
 */

#ifndef _CLIENT_REQUESTINFO_PIDL_
#define _CLIENT_REQUESTINFO_PIDL_

#include "tao/PI/RequestInfo.pidl"
#include "tao/orb_types.pidl"
#include "tao/Policy_Forward.pidl"

module PortableInterceptor {

  typeprefix PortableInterceptor "omg.org";

  local interface ClientRequestInfo : RequestInfo
  {
    readonly attribute Object target;
    readonly attribute Object effective_target;
    readonly attribute IOP::TaggedProfile effective_profile;
    readonly attribute any received_exception;
    readonly attribute CORBA::RepositoryId received_exception_id;
    IOP::TaggedComponent get_effective_component (in IOP::ComponentId id);
    IOP::TaggedComponentSeq get_effective_components (in IOP::ComponentId id);
    CORBA::Policy get_request_policy (in CORBA::PolicyType type);
    void add_request_service_context (
      in IOP::ServiceContext service_context,
      in boolean replace);
  };
};

#endif  /* _CLIENT_REQUESTINFO_PIDL_ */
